// axios二次封装
import axios from 'axios'
import { ElMessage } from 'element-plus'
import useUserStore from '@/store/modules/user'
// 创建axios实例
let request = axios.create({
  baseURL: import.meta.env.VITE_APP_BASE_API,
  timeout: 6000,
})
// 添加请求与响应拦截器
request.interceptors.request.use((config) => {
  // config配置对象，headers属性请求头，经常给服务器端携带公共参数
  let useUserInfo = useUserStore()

  if (useUserInfo.token) {
    config.headers.token = useUserInfo.token
  }
  console.log(config)
  // 返回配置对象
  return config
})
// 响应拦截器
request.interceptors.response.use(
  (response) => {
    return response.data
  },
  (error) => {
    let status = error.response.status
    let message = '出错啦' + status
    ElMessage({
      type: 'error',
      message,
    })
    return Promise.reject(error)
  },
)
// 对外暴露
export default request
